package de.steric.battlemon.Battlemon_Monster;

import de.steric.battlemon.Battlemon_Monster.Skills.*;

/**
 * Contains a whole Battlemon Monster with all Attacks, Effects
 * 
 * @author Deamon
 * 
 */
public class BattlemonMonster {

	public BattlemonType type;

	// The Skills the Battlemon can cast
	// 0,1 Attacks
	// 2 Defensive
	// 3 Ultimate
	Skill[] Skills;

	// Says if the Battlemon has ranged Autohits
	// true = it has
	// false = it doesn't
	boolean ranged;

	// Standard Status points
	StatusPoints standard;

	// Status while fighting
	public StatusPoints fight;

	/**
	 * Creates a new Instance of Battlemon_Monster
	 */
	public BattlemonMonster() {
		Skills = new Skill[4];
	}

	/**
	 * 
	 * @param number
	 *            gives the Skill to execute;
	 */
	public void useSkill(int number, BattlemonMonster enemy) {
		Skills[number].execute(enemy);
	}

	public void hit(int damage) {
		fight.HP -= damage;
		if (this.fight.HP <= 0) {
			this.fight.HP = 0;
			// Fainted
		}
	}
}
